
package edu.unl.asd.vista.ayuda;
/**
 * Ejemplo sencillo de uso de JavaHelp. Crea dos ventanas con un men� y les pone
 * la ayuda.
 * 
  * 
 */
import java.awt.FlowLayout;
import java.io.File;
import java.net.URL;

import javax.help.HelpBroker;
import javax.help.HelpSet;
import javax.swing.JDialog;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.WindowConstants;


public class JHelp {
	/** Ventana secundaria */
//	private JDialog secundaria;

	/** Ventana principal */
	private JDialog principal;

	/** Item de men� para la ayuda */
	private JMenuItem itemAyuda;

	/** Boton que despliega la ventana secundaria */
//	private JButton botonMuetraSecundaria;

	/**
	 * Crea una instanacia de esta clase.
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		new JHelp();
	}

	/**
	 * Crea las ventanas, pone la ayuda y visualiza la ventana principal.
	 */
	public JHelp() {
		creaVentanaPrincipal();

		ponLaAyuda();
		visualizaVentanaPrincipal();
	}

	/**
	 * Con este nombre digo yo que visualizar� la ventana principal.
	 */
	private void visualizaVentanaPrincipal() {
		principal.pack();
                
		principal.setVisible(true);
		principal.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
	}

	/**
	 * Hace que el item del menu y la pulsacion de F1 visualicen la ayuda.
	 */
	private void ponLaAyuda() {
		try {
			// Carga el fichero de ayuda
//			File fichero = new File("../help/help_set.hs");
                        File fichero = new File("..\\archivoAyuda\\help_set.hs");
			URL hsURL = fichero.toURI().toURL();

			// Crea el HelpSet y el HelpBroker
			HelpSet helpset = new HelpSet(getClass().getClassLoader(), hsURL);
			HelpBroker hb = helpset.createHelpBroker();

			// Pone ayuda a item de menu al pulsarlo y a F1 en ventana
			// principal y secundaria.
			hb.enableHelpOnButton(itemAyuda, "aplicacion", helpset);
			hb.enableHelpKey(principal.getContentPane(), "ventana_principal",
					helpset);


		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * �Quiz�s crea la ventana principal?
	 */
	private void creaVentanaPrincipal() {
		principal = new JDialog();
		JMenuBar menuBar = new JMenuBar();
		itemAyuda = new JMenuItem("Ayuda");
		menuBar.add(itemAyuda);

		principal.setJMenuBar(menuBar);
		principal.getContentPane().setLayout(new FlowLayout());

	}

	
}
